#ifndef f_rms_video_compression_h_
#define f_rms_video_compression_h_

#include <windows.h>
#include <mmsystem.h>
#include "../../Common/cTypes.h"

static const DWORD BI_UYVY = mmioFOURCC('U','Y','V','Y');   // uncompressed UYVY
static const DWORD BI_YUY2 = mmioFOURCC('Y','U','Y','2');   // uncompressed YUY2
static const DWORD BI_YUYV = mmioFOURCC('Y','U','Y','V');   // uncompressed YUYV - same as YUY2
static const DWORD BI_V422 = mmioFOURCC('V','4','2','2');   // uncompressed V422 - same as YUY2
static const DWORD BI_YVYU = mmioFOURCC('Y','V','Y','U');   // uncompressed YVYU
static const DWORD BI_YV12 = mmioFOURCC('Y','V','1','2');   // uncompressed YV12 - MPEG format of choice
static const DWORD BI_I420 = mmioFOURCC('I','4','2','0');   // uncompressed I420
static const DWORD BI_IYUV = mmioFOURCC('I','Y','U','V');   // uncompressed IYUV - same as I420
static const DWORD BI_IF09 = mmioFOURCC('I','F','0','9');   // uncompressed IF09
static const DWORD BI_RGBH = mmioFOURCC('R','G','B','H');
#if defined (_J707_) // merge from VC-XR2:#103R210001
static const DWORD BI_UYNV = mmioFOURCC('U','Y','N','V');	// Added by KAZUHY - VCX103R2
static const DWORD BI_YUNV = mmioFOURCC('Y','U','N','V');	// Added by KAZUHY - VCX103R2
#endif
extern DWORD bmpFormat;
extern int FPScontrol;

BOOL VideoCompressionCallback(BYTE *pFrame);
BOOL VideoCompression_Create();
void VideoCompression_Destroy();
void VideoCompression_SetStillImage(void *RGB, int Mbps);
void VideoCompression_SetCompressedStillImage(void* compr,int size);
void VideoCompression_CompressStillImage(void* RGB,void** dest, int* size);

#endif